Method for recognizing the position of a gaming device

ABSTRACT

A method for recognizing the position of a wireless controller is applied to an interactive gaming device including a wireless controller, a main apparatus and a host. The main apparatus includes a first ultrasonic receiving module, a second ultrasonic receiving module and a third ultrasonic module which are arranged as a triangle shape. The wireless controller includes an ultrasonic transmitting module for sending an ultrasonic wave which is received by the ultrasonic receiving modules in order to obtain three ultrasonic wave transmission times. The main apparatus sends the ultrasonic wave transmission times to the host. The host calculates the ultrasonic wave transmission times and therefore recognizes the position of the wireless controller. When the wireless controller is moved, the host obtains plurality of coordinate values indicating the motion track of the wireless controller. The motion track of the wireless controller is shown in a display by monitoring the coordinate values.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an interactive gaming system, and more particularly to a method for recognizing position of a wireless controller of the interactive gaming system.

2. The Related Art

Nowadays, more and more people are amused by varieties of video games or computer games. Taking a computer game for example, conventionally, if a player wants to play the computer game, he firstly has to install game software in a host of a computer. The player controls the game process by peripherals of the computer, such as a mouse, a keyboard, a control handle or the like, all of which connect with the computer.

The game process and game information are displayed to the player through a monitor and a speaker or other multimedia output devices. However, as continuous development of technology, interactive gaming devices are provided to the player accompanying with the game software.

One example of the interactive gaming devices is disclosed in U.S. patent public No. 2007/0072674 issued Jan. 2, 2006. The interactive gaming device includes a host apparatus connected to a home-use TV receiver via a connection cord, a wireless controller for giving operation data to the host apparatus, and a pair of infrared markers provided on top of the TV receiver and on both sides of the TV receiver.

Each infrared marker outputs infrared light forward. The host apparatus is connected to a receiving unit via a connection terminal. The receiving unit is used for receiving operation data that is wirelessly transmitted from the wireless controller.

The wireless controller includes an operation section, an imaging information calculation section, a communication section and an acceleration sensor. The operation section includes a plurality of operation buttons defined in a housing of the wireless controller, which the player can use to perform the game process.

The imaging information calculation section includes an infrared filter, a lens, an imaging element and an image processing circuit. The infrared filter allows only infrared light to pass therethrough. The lens collects the infrared light which has passed through the infrared filter and outputs the infrared light to the imaging element. The imaging element is a solid-state imaging device such as, a CMOS sensor or a CCD.

The imaging element takes an image of the infrared light which has passed through the infrared filter and been collected by the lens, and generates image data. The image data is processed by the image processing circuit. The image processing circuit calculates the positions of the infrared markers in the taken image, and outputs coordinate sets to the communication section.

The acceleration sensor detects acceleration in three axial directions of the wireless controller, i.e., the up-down direction, the left-right direction and the front-rear direction. The acceleration sensor allows the inclinations of the wireless controller in the three axial directions to be determined. In addition to the taken image mentioned above, the wireless controller determines the acceleration and inclination thereof via the acceleration sensor.

The communication section includes a microcomputer, a memory, a wireless module and an antenna. The microcomputer receives the data which is output from the operation section, the acceleration sensor, and the imaging information calculation circuit and stores the data in the memory. The wireless module and the antenna transmit the data stored in the memory to the host apparatus by a wireless technology. The data includes the displacement direction, the inclination and the acceleration of the wireless controller.

The host apparatus uses the receiving unit to receive the operation data from the wireless controller in a way of wireless transmission and executes the game process based on the obtained operation data.

The interactive gaming device makes use of the imaging information calculation section to collect and calculate the positions of the two infrared markers. If the environment around the infrared markers brings infrared interference, the imaging information calculation section will not attain the positions of the two infrared markers exactly. Therefore, the game can't go on.

Hence, an improved interactive gaming device is desired to overcome the shortcomings described above.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a method for recognizing the position of a wireless controller in a gaming system. The gaming system further includes a main apparatus, a host connected to the main apparatus and a display device connected to the host. The method is described as following.

A first microcomputer sends a position instruction to a first communication module of the main apparatus. The first communication module modules the position instruction into position wireless signals and then sends out the position wireless signals. A second communication module of the wireless controller receives the position wireless signals and then demodulates the position wireless signals into the position instruction. The second communication module sends the position instruction to a second microcomputer of the wireless controller.

The second microcomputer tests the position instruction and then orders an ultrasonic transmitting module sending out an ultrasonic wave. A first ultrasonic receiving module, a second ultrasonic receiving module and a third ultrasonic receiving module of the main apparatus receives the ultrasonic wave. The ultrasonic receiving modules are arranged as a predetermined triangle shape.

The first microcomputer calculates transmission times of the ultrasonic wave and sends the transmission times to the host by a connection module of the main apparatus and a connection cord interconnected the connection module and the host. The host calculates beelines between the ultrasonic transmitting module of the wireless controller and the ultrasonic receiving modules of the main apparatus. The host calculates the coordinate of the wireless controller base on the beelines and given positions of the ultrasonic receiving modules.

Therefore, the host can recognize the position of the wireless controller. The host can calculate plurality of coordinates of the wireless controller when the wireless controller is moved. Therefore, the host can produce motion tracks corresponding to the plurality of coordinates of the wireless controller. The host display the motion track of the wireless controller via the display device.

The method further comprises following steps. The host calculates a first coordinate of the wireless controller. The host calculates a second coordinate of the wireless controller after a predetermined time. The host calculates a first motion speed of the wireless controller base on the beeline between the first coordinate and the second coordinate and the predetermined time.

The host calculates a third coordinate of the wireless controller after the predetermined time. The host calculates a second motion speed of the wireless controller base on the beeline between the second coordinate and the third coordinate and the predetermined time. The host testes whether the first motion speed and the second motion speed are greater than zero in order to determining motion direction of the wireless controller. The host tests whether the second motion speed is greater than the first motion speed in order to determining acceleration status of the wireless controller.

Furthermore, the host recognizes the motion direction and the acceleration of the wireless controller.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be apparent to those skilled in the art by reading the following description of preferred embodiments thereof, with reference to the attached drawings, in which:

FIG. 1 shows an interactive gaming system according to the present invention;

FIG. 2 is a perspective view of a main apparatus of the interactive gaming system;

FIG. 3 shows a circuit block diagram of the main apparatus and a circuit block diagram of a wireless controller in the interactive gaming system;

FIG. 4 is a perspective view showing the relative position between a first ultrasonic receiving module, a second ultrasonic receiving module and a third ultrasonic receiving module of the main apparatus and the wireless controller of the interactive gaming system;

FIG. 5 and FIG. 6 are flow charts showing a first preferred embodiment of a method for recognizing the position of the wireless controller of the interactive gaming device by calculating the ultrasonic transmission times according to the present invention;

FIG. 7 shows the relationship between the right-left position, the front-rear position and the up-down position;

FIG. 8 is a flow chart showing a host of the interactive gaming system determining the acceleration of the wireless controller in three directions; and

FIG. 9 is a flow chart showing the host of the interactive gaming system determining the acceleration of the wireless controller in three directions base via an acceleration sensor included in the wireless controller.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

With reference to FIG. 1, a method for recognizing the position of a gaming device is applied to an interactive gaming system 900. The interactive gaming system 900 includes a main apparatus 1, a wireless controller 2, an electronic device 3 and a display device 4. The main apparatus 1 is connected to the electronic device 3 such as a host of a computer or a gaming host via a connection cord. In this case, the electronic device 3 is a host of a computer. The host 3 is further connected to the display device 4. In this case, the display device 4 is a monitor of the computer.

Please refer to FIG. 2 and FIG. 3. The main apparatus 1 includes a first microcomputer 10, a first ultrasonic receiving module 11, a second ultrasonic receiving module 12, a third ultrasonic receiving module 13, a first communication module 14 and a connection module 15. The first ultrasonic receiving module 11, the second ultrasonic receiving module 12 and the third ultrasonic receiving module 13 are defined on the main apparatus 1 respectively.

Please refer to FIG. 2. The first ultrasonic receiving module 11 and the second ultrasonic receiving module 12 are on the same level and the distance between them is designated W. The third ultrasonic receiving module 13 is defined at the middle of the first ultrasonic receiving module 11 and the second ultrasonic receiving module 12. The distance from the third ultrasonic receiving module 13 to the level defined by the first ultrasonic receiving module 11 and the second ultrasonic receiving module 12 is designated H.

So obviously the first ultrasonic receiving module 11, the second ultrasonic receiving module 12 and the third ultrasonic receiving module 13 are not at the same level and form a triangle shape therebetween. In the preferred embodiment, the value of the W is 20 centimeters, and the value of the H is 5 centimeters.

Please refer to FIG. 3. The first ultrasonic receiving module 11, the second ultrasonic receiving module 12 and the third ultrasonic receiving module 13 are connected to the first microcomputer 10 respectively, which can receive ultrasonic waves and transform the ultrasonic waves into electronic signals, and then transmit the electronic signals to the first microcomputer 10.

The first communication module 14 connects with the first microcomputer 10. The first communication module 14 receives instructions from the first microcomputer 10 and modulates the instructions into wireless signals, and then sends out the wireless signals. The first communication module 14 can also receive the wireless signals from the wireless controller 2 and demodulate the wireless signals into instructions, and then transmit the instructions to the first microcomputer 10. In this case, the first communication module 14 is a radiating module and the wireless signals are radio signals.

The main apparatus 1 and the host 3 transmit data to each other via the connection module 15 connected to the first microcomputer 10 and the connection cord which interconnects the connection module 15 and the host 3.

Please refer to FIG. 3 again. The wireless controller 2 includes a second microcomputer 20, an ultrasonic transmitting module 21 and a second communication module 22. The ultrasonic transmitting module 21 is defined on the housing of the wireless controller 2. The ultrasonic transmitting module 21 is connected to the second microcomputer 20 and sends out an ultrasonic signal according to the instructions which are sent by the second microcomputer 20.

Therefore, the ultrasonic wave is received by the first ultrasonic receiving module 11, the second ultrasonic receiving module 12 and the third ultrasonic receiving module 13 of the main apparatus 1. The second communication module 22 connects with the second microcomputer 20. The second communication module 22 receives instructions from the second microcomputer 20 and modulates the instructions into wireless signals, and then sends out the wireless signals.

The second communication module 22 can also receives the wireless signals from the first communication module 14 of the main apparatus 1 and demodulates the wireless signals into instructions, and then transmits the instructions to the second microcomputer 20. In this case, the second communication module 22 is also a radiating module which cooperates with the first communication module 14. The wireless signals are also radio signals.

Please refer to FIG. 4 to FIG. 7. A first preferred embodiment of the method for recognizing the position of the wireless controller 2 in the interactive gaming system 900 is described as following:

Step 1000: The first microcomputer 10 sends a position instruction which means beginning to recognize the position of the wireless controller 2 to the first communication module 14. The first communication module 14 receives the position instruction and modulates the position instruction into a position wireless signal and then sends out the position wireless signal.

Step 1001: When the first microcomputer 10 sends the position instruction to the first communication module 14, the first microcomputer 10 obtains a start time which means that an ultrasonic wave is send out by the ultrasonic transmitting module 21 of the wireless controller 2.

Step 1002: The second communication module 22 receives the position wireless signal and demodulates the position wireless signal into a position instruction, and then sends the position instruction to the second microcomputer 20. The second microcomputer 20 receives and tests the position instruction.

Step 1003: If the position instruction is correct, the second microcomputer 20 orders the ultrasonic transmitting module 21 to send out an ultrasonic wave.

Step 1004: The first ultrasonic receiving module 11, the second ultrasonic receiving module 12 and the third ultrasonic receiving module 13 respectively receive the ultrasonic wave sent by the wireless controller 2. The transmission time of the ultrasonic wave to the three ultrasonic receiving modules 11, 12, 13 are labeled Ta, Tb, Tc respectively.

Step 1005: When the first microcomputer 10 detects that the first ultrasonic receiving module 11, the second ultrasonic receiving module 12 and the third ultrasonic receiving module 13 receive the ultrasonic wave sent by the wireless controller 2, the first microcomputer 10 obtains three end times which means that the ultrasonic wave has received by the first ultrasonic receiving module 11, the second ultrasonic receiving module 12 and the third ultrasonic receiving module 13 respectively. The intervals between start time and three end times include transmission time of the wireless signal sent by the second communication module 22 and transmission time of the ultrasonic wave sent by the ultrasonic transmitting module 21. Because the transmission speed of the wireless signal is more faster than the transmission speed of the ultrasonic wave, the transmission time of the wireless signal can be ignored. Therefore, the intervals between start time and three end times are seen as the transmission time of the ultrasonic wave to the three ultrasonic receiving modules 11, 12, 13 labeled Ta, Tb, Tc respectively.

Step 1006: The main apparatus 1 sends the time information Ta, Tb, Tc to the host 3 via the connection module 15 and the connection cord connected with the connection module 15 and the host 3.

Step 1007: The host 3 calculates the beeline distances labeled Da, Db, Dc between the wireless controller 2 and the first ultrasonic receiving module 11, the second ultrasonic receiving module 12, the third ultrasonic receiving module 13 respectively according to the transmission characteristic of the ultrasonic wave after receiving the time information Ta, Tb, Tc.

Step 1008: The host 3 calculates a coordinate value as a virtual position of the wireless controller 2 in the three-axial space. In this case, the coordinate values of the first ultrasonic receiving module 11, the second ultrasonic receiving module 12 and the third ultrasonic receiving module 13 are given. In this case, the coordinate value of the first ultrasonic receiving module 11 is designed to (X1, Y1, Z1). The coordinate value of the second ultrasonic receiving module 12 is designed to (X2, Y2, Z2). The coordinate value of the third ultrasonic receiving module 13 is designed to (X3, Y3, Z3). Also, the beeline distances labeled Da, Db, Dc between the wireless controller 2 and the first ultrasonic receiving module 11, the second ultrasonic receiving module 12, the third ultrasonic receiving module 13 are given. The coordinate value of the wireless controller 2 is desired. In this case, the desired coordinate value of the wireless controller 2 is designed to (Xn, Yn, Zn). Therefore, the host 3 can calculate the desired coordinate value of the wireless controller 2 based on the given parameter and three functions as following:

Da=√{square root over (((Xn−X1)²+(Yn−Y1)²+(Zn=Z1)²))}{square root over (((Xn−X1)²+(Yn−Y1)²+(Zn=Z1)²))}{square root over (((Xn−X1)²+(Yn−Y1)²+(Zn=Z1)²))}

Db=√{square root over (((Xn−X2)²+(Yn−Y2)²+(Zn−Z2)²))}{square root over (((Xn−X2)²+(Yn−Y2)²+(Zn−Z2)²))}{square root over (((Xn−X2)²+(Yn−Y2)²+(Zn−Z2)²))}

Dc=√{square root over (((Xn−X3)²+(Yn−Y3)²+(Zn−Z3)²))}{square root over (((Xn−X3)²+(Yn−Y3)²+(Zn−Z3)²))}{square root over (((Xn−X3)²+(Yn−Y3)²+(Zn−Z3)²))}

Step 1009: The wireless controller 2 sends an ultrasonic wave once every thirty milliseconds. The host 3 calculates plurality of transmission times of the ultrasonic wave and therefore obtains plurality of coordinate values which are designed to (Xni, Yni, Zni) iε1, 2, 3 . . . , and indicate the motion track of the wireless controller 2. The host 3 can calculate continuously moving speed value of the wireless controller 2 in X axis, Y axis and Z axis base on that the coordinate values of the wireless controller 2 is calculated once every thirty milliseconds. In this case, the moving speed value of the wireless controller 2 in X axis, Y axis and Z axis are respectively designed to (Sxi, Syi, Szi) iε1, 2, 3 . . . .

Step 1010: Please refer to FIG. 7. The host 3 tests the moving speed value of the wireless controller 2. If the moving speed values of the wireless controller 2 are negative, the host 3 executes Step 1011. If the moving speed values of the wireless controller are positive, the host 3 executes Step 1012.

Step 1011: The host 3 determines that the wireless controller 2 moves right if the moving speed value of the wireless controller in X axis designed to Sxi is positive. The host 3 determines that the wireless controller 2 moves upwards if the moving speed value of the wireless controller in Y axis designed to Syi is positive. The host 3 determines that the wireless controller 2 moves forward if the moving speed value of the wireless controller in Y axis designed to Szi is positive.

Step 1012: The host 3 determines that the wireless controller 2 moves left if the moving speed value of the wireless controller in X axis designed to Sxi is negative. The host 3 determines that the wireless controller 2 moves downwards if the moving speed value of the wireless controller in Y axis designed to Syi is negative. The host 3 determines that the wireless controller 2 moves backward if the moving speed value of the wireless controller in Y axis designed to Szi is negative.

Therefore, the host 3 produces motion tracks and motion speed of the motion tracks corresponding to the coordinate values and the moving speed values of the wireless controller 2 and displays the motion tracks via the monitor 4.

Please refer to FIG. 8. A second preferred embodiment of the method for recognizing the position of the wireless controller 2 in the interactive gaming system 900 which can determine the acceleration of the wireless controller 2 is described as following. The following described is an example of how acceleration of the wireless controller 2 in X axis are calculated.

Step 1100: The host 3 obtains a N-st coordinate value of the wireless controller 2 in X-axis which is designed to Xn.

Step 1101: The host 3 obtains a N+1-st coordinate value of the wireless controller 2 in X-axis which is designed to Xn+1.

Step 1102: The host 3 calculates the beeline between the N-st coordinate value designed to Xn and the N+1-st coordinate value designed to Xn+1 of the wireless controller 2. The host 3 calculates a N-st moving speed of the wireless controller 2 based on the beeline and an ultrasonic wave sent by the wireless controller 2 once every thirty milliseconds, which is presented as Sxn.

Step 1103: The host 3 obtains a N+2-st coordinate value of the wireless controller 2 in X-axis which is designed to Xn+2.

Step 1104: The host 3 calculates the beeline between the N+1-st coordinate value designed to Xn+1 and the N+2-st coordinate value designed to Xn+2 of the wireless controller 2. The host 3 calculates a N+1-st moving speed of the wireless controller 2 based on the beeline and an ultrasonic wave sent by the wireless controller 2 once every thirty milliseconds, which is presented as Sxn+1.

Step 1105: The host 3 testes the N-st moving speed value and the N+1-st moving speed value of the wireless controller 2. If the N-st moving speed value and the N+1-st moving speed value of the wireless controller 2 are greater than zero, the host 3 executes Step 1106. If the N-st moving speed value and the N+1-st moving speed value of the wireless controller 2 are smaller than zero, the host 3 executes Step 1107.

Step 1106: The host 3 testes whether the N+1-st moving speed value of the wireless controller 2 is greater than the N-st moving speed value of the wireless controller 2. If the N+1-st moving speed value of the wireless controller 2 is greater than the N-st moving speed value of the wireless controller 2, the host 3 executes Step 1108. If the N+1-st moving speed value of the wireless controller 2 is smaller than the N-st moving speed value of the wireless controller 2, the host 3 executes Step 1109.

Step 1107: The host 3 testes whether the N+1-st moving speed value of the wireless controller 2 is greater than the N-st moving speed value of the wireless controller 2. If the N+1-st moving speed value of the wireless controller 2 is greater than the N-st moving speed value of the wireless controller 2, the host 3 executes Step 1110. If the N+1-st moving speed value of the wireless controller 2 is smaller than the N-st moving speed value of the wireless controller 2, the host 3 executes Step 1111.

Step 1108: The host 3 determines that the wireless controller 2 moves right and is accelerated in X-axis.

Step 1109: The host 3 determines that the wireless controller 2 moves right and is decelerated in X-axis.

Step 1110: The host 3 determines that the wireless controller 2 moves left and is decelerated in X-axis.

Step 1111: The host 3 determines that the wireless controller 2 moves left and is accelerated in X-axis.

Therefore, the host 3 produces motion tracks and acceleration of the motion tracks corresponding to the coordinate values and the moving speed values of the wireless controller 2 and displays the motion tracks via the monitor 4.

Please refer to FIG. 3 and FIG. 9. FIG. 9 shows a flow chart of a third preferred embodiment of the method for recognizing the position of the wireless controller 2 in the interactive gaming system 900. In this embodiment, the wireless controller 2 further comprises an acceleration sensor 23 connected to the second microcomputer 20. The acceleration sensor 23 can detect the acceleration of the wireless controller 2 in X-axis, Y-axis and Z-axis. The detecting process is presented as following:

Step 1200: The acceleration sensor detects the acceleration values of the wireless controller 2 in X-axis, Y-axis and Z-axis.

Step 1201: The second microcomputer 20 obtains the acceleration values of the wireless controller 2 from the acceleration sensor 23 and then sends out the acceleration values to the second communication module 22. The second communication module 22 modulates the acceleration values into wireless signals and then sends out the wireless signals.

Step 1202: The first communication module 14 of the main apparatus 1 receives the wireless signals from the wireless controller 2 and demodulates the wireless signals into the acceleration values.

Step 1203: The first microcomputer 10 obtains the acceleration values of the wireless controller 2 and then sends the acceleration values to the host 3 via the connection module 15 and the connection cord interconnected the connection module 15 of the main apparatus 1 and the host 3. The Host 3 determines the acceleration of the wireless controller 2 in X-axis (step 1204), Y-axis (In step 1205) and Z-axis (In step 1206) respectively.

Step 1204: The host 3 tests whether the acceleration value of the wireless controller 2 is positive in X-axis. If the acceleration value of the wireless controller 2 is positive in X-axis, the host 3 executes step 1207. If the acceleration value of the wireless controller 2 is negative in X-axis, the host 3 executes step 1208.

Step 1205: The host 3 tests whether the acceleration value of the wireless controller 2 is positive in Y-axis. If the acceleration value of the wireless controller 2 is positive in Y-axis, the host 3 executes step 1209. If the acceleration value of the wireless controller 2 is negative in Y-axis, the host 3 executes step 1210.

Step 1206: The host 3 tests whether the acceleration value of the wireless controller 2 is positive in Z-axis. If the acceleration value of the wireless controller 2 is positive in Z-axis, the host 3 executes step 1211. If the acceleration value of the wireless controller 2 is negative in Z-axis, the host 3 executes step 1212.

Step 1207: The host 3 determines that the wireless controller 2 moving right.

Step 1208: The host 3 determines that the wireless controller 2 moving left.

Step 1209: The host 3 determines that the wireless controller 2 moving upwards.

Step 1210: The host 3 determines that the wireless controller 2 moving downwards.

Step 1211: The host 3 determines that the wireless controller 2 moving forward.

Step 1212: The host 3 determines that the wireless controller 2 moving backward.

Therefore, the host 3 produces motion tracks corresponding to the acceleration values of the wireless controller 2 and displays the motion tracks via the monitor 4.

As described above, the first ultrasonic receiving module 11, the second ultrasonic receiving module 12 and the third ultrasonic receiving module 13 of the main apparatus 1 respectively receive the ultrasonic wave sent by the ultrasonic transmitting module 21 of the wireless controller 2. The first microcomputer 10 calculates the transmission time of the ultrasonic wave and sends the transmission time to the host 3 via the connection module 15. Therefore, the host 3 calculates the position and the moving speed of wireless controller 2 based on the transmission time of the ultrasonic wave sent by the wireless controller 2.

Furthermore, the acceleration sensor 23 of the wireless controller 2 detects the acceleration of the wireless controller 2. The second microcomputer 20 obtains the acceleration from the acceleration sensor 23 and sends the acceleration to the main apparatus 1 via the second communication module 22. The main apparatus 1 receives the acceleration of the wireless controller 2 by the first communication module 14 and sends the acceleration to the host 3 via the connection module 15.

Therefore, the host 3 compares the acceleration of wireless controller 2 detected by the acceleration sensor 23 and the moving speed of the controller 2 which is calculated according to the transmission time of the ultrasonic wave for increasing recognizing rate.

Furthermore, the present invention is not limited to the embodiments described above; various additions, alterations and the like may be made within the scope of the present invention by a person skilled in the art. For example, respective embodiments may be appropriately combined. 

1. A method for recognizing the position of a wireless controller in a gaming system, comprising: sending out a wireless signal by a first communication module of a main apparatus and obtaining a start time by a first microcomputer of said main apparatus; receiving said wireless signal by a second communication module of said wireless controller; sending out an ultrasonic wave by an ultrasonic transmitting module of said wireless controller; receiving said ultrasonic wave by a first ultrasonic receiving module, a second ultrasonic receiving module and a third ultrasonic receiving module of said main apparatus arranged as a predetermined triangle shape and obtaining at least three end times by said first microcomputer of said main apparatus; calculating said start time and said end times by said first microcomputer of said main apparatus in order to obtain at least three transmission times of said ultrasonic wave between said ultrasonic transmitting module of said wireless controller and said ultrasonic receiving modules of said main apparatus; receiving said transmission times and calculating beelines between said ultrasonic transmitting module of said wireless controller and said first ultrasonic receiving module, said second ultrasonic receiving module and said third ultrasonic receiving module by a host; calculating the position of said wireless controller based on said beelines and given positions of said first ultrasonic receiving module, said second ultrasonic receiving module and said third ultrasonic receiving module.
 2. The method as claimed in claim 1, wherein the transmitting speed of said wireless signal is faster than the transmitting speed of said ultrasonic wave.
 3. The method as claimed in claim 1, further comprising: calculating a first position of said wireless controller; calculating a second position of said wireless controller by said host after a predetermined time; calculating a first motion speed of said wireless controller according said first position, said second position and said predetermined time; calculating a third position of said wireless controller by said host after said predetermined time; calculating a second motion speed of said wireless controller according said second position, said third position and said predetermined time; testing whether said first motion speed and said second motion speed being greater than zero in order to determining motion direction of said wireless controller; testing whether said second motion speed being greater than said first motion speed in order to determining acceleration status of said wireless controller. 